Peer-to-peer communication between applications on devices is a major feature in social media networking and multi-player games. Users want to be able to join a group using the same application in multiple devices connected over a proximity-based network. Accomplishing this in a Bluetooth proximity-based network presents a number of problems.
Devices equipped to use Bluetooth communication protocols to send Bluetooth messages are referred to herein as Bluetooth enabled devices. Bluetooth enabled devices have a Bluetooth communication layer to open communications to exchange Bluetooth messages with each other. Not all Bluetooth enabled devices have bus daemons capable of peer-to-peer communication. After communications are open, a Bluetooth enabled device having a peer-to-peer bus daemon can discover whether a second Bluetooth enabled device has a peer-to-peer bus daemon. If a user is looking for peer-to-peer communication, and the second Bluetooth enabled device does not have a peer-to-peer bus daemon, the Bluetooth process to open communications between devices is wasted effort. Further, the quantity of Bluetooth enabled devices within RF range can be very large at social networking locations such as coffee houses, for example. Accordingly, connecting Bluetooth enabled devices that do not have peer-to-peer bus daemons wastes a lot of computing time.
After Bluetooth enabled devices having peer-to-peer bus daemons are connected, there is another layer of discovering that is required. This additional discovery layer identifies applications available for peer-to-peer communications between two Bluetooth enabled devices. A Bluetooth service discovery protocol (SDP) process, that discovers available applications, is performed each time Bluetooth enabled devices connect to perform peer-to-peer communication. This can be very burdensome to the Bluetooth enabled devices.
It is with respect to these considerations and others that the present invention has been made.